package com.bigdata

import scala.io.{BufferedSource, Source}

object Demo29Implicit {
  def main(args: Array[String]): Unit = {

    // 显式调用
    //    val read = new Read("data/students.txt")
    //    val lines: List[String] = read.read().getLines().toList
    //    println(lines)

    /**
     * 把 strPath 字符串隐式的转为了 Read 类, 把strPath作为了构造函数的参数，
     * 可以调用这个隐式转换类中的方法
     */
    val strPath: String = "data/students.txt"
    val list: List[String] = strPath.read().getLines().toList
    println(list)
  }


  /**
   * 隐式转换类
   * @param strPath
   */
  implicit class Read(strPath: String) {
    println("Read...")

    def read(): BufferedSource = {
      Source.fromFile(strPath)
    }
  }

}




